


namespace Core.Extensions
{
    using System;
    using System.Collections.Generic;
    using Base;
    using Contracts.Enums;
    using Contracts.Interfaces;
    using Resources;

    /// <summary>
    /// Energy management Extension class
    /// </summary>
    
    public sealed class EnergyManagement: ExtensionBase
    {
        /// <summary>
        /// Create a new instance of the <see cref="T:Core.Extensions.EnergyManagement"/> class.
        /// </summary>
        public EnergyManagement()
            : base(
                Traduction.extensions_energy_management, 
                ExtensionGroupsEnum.Engineering,
                5,
                0, 
                new ExtensionCost(125000,0),
                null )
        {
            
            
            //Each level of this extension reduces the recharge time of the [[Help:Robot_parameters|accumulator]] by an additional 3%.
            Modifiers = new IModifier[]
                            {
                                new Modifier()
                                    {
                                        Feature = FeaturesEnum.AccumulatorRechargeTime,
                                        ModifiedFeatureType = FeatureTypesEnum.Robot,
                                        Value = 0.03
                                    }
                            };
        }

        /// <summary>
        /// Obtains the extension description
        /// </summary>
        public override string Description
        {
            get { return Traduction.extensions_energy_management_description; }
        }
    }
}